草庐IT

VSCode+TeXLive2022 配置教程

全部标签

go - 如何强制 VSCode 在 goimports 匹配多个同名包的情况下需要手动选择?

我在使用GoIris框架编写小型Web服务时遇到了问题。Iris几乎没有用于HTTP请求错误处理的有用包。也就是说,我想使用"github.com/kataras/iris/middleware/logger"和"github.com/kataras/iris/middleware/recover"但是当我开始输入app.Use(logger....)VSCodeautoimported"github.com/hashicorp/consul/logger”这也在我的道路上。简单地复制粘贴正确的路径就可以解决这个问题,但是有没有办法强制VSCode在匹配多个包名称的情况下进行手动选择,

go - 如何在 go 中实现碎片化的配置文件验证

我尝试通过配置文件(yaml)配置CLI应用程序。该应用程序有几个“组件”(比方说持久层、集成网络服务器等)。这些组件在子包中进行管理,以保持代码整洁。这些组件的配置在它们的包中定义并在配置包中“合并”到表示配置文件的结构。将此代码视为演示实现:packagemainimport("errors""fmt"yaml"gopkg.in/yaml.v2")////Thiswouldbeinpackage'webserver'//OnlytheConfigpartisshown,therewouldbeaconstructorandtheimplementationof//thewebser

go - gotour并发教程中为什么需要goroutines的解释

我无法理解goroutines和channels在go之旅中的使用。引用以下代码:"https://tour.golang.org/concurrency/2"packagemainimport"fmt"funcsum(s[]int,cchanint){sum:=0for_,v:=ranges{sum+=v}c它使用前面带有“go”关键字的goroutines运行求和函数,但它们所做的只是将值发送到channel。它们不应该与goroutines一起运行。但是,当删除go关键字以正常运行函数时,出现此错误:fatalerror:allgoroutinesareasleep-deadlo

macos - RabbitMQ Go 教程日志.Printf 无法写入磁盘文件?

我正在通过go学习RabbitMQ教程。这是链接:https://www.rabbitmq.com/tutorials/tutorial-four-go.html当我运行以下命令将消息记录到文件时:gorunreceive_logs_direct.gowarningerror>logs_from_rabbit.log但是logs_from_rabbit.log文件仍然是空的。这是怎么回事? 最佳答案 您的重定向似乎缺少标准错误输出中的日志。尝试:gorunreceive_logs_direct.gowarningerror>stdo

go - 在 golang 中正确映射 YAML 配置文件

我用go编写了一个API,它可以创建具有默认策略规则的组织。我想使用外部配置YAML文件在我的API中包含一些策略(我实际上将这些策略放在我的代码中的函数中,该函数创建了我的实体组织):策略.yml-role:"admin"organisationid:organisation.IDpolicies:[{Object:"/*",Action:"*"}]-role:"user"organisationid:organisation.IDpolicies:[{Object:"/me",Action:"GET"},{Object:"/organisations",Action:"GET"},

visual-studio - 如何使用 VSCode 在 GOARCH=386 的 64 位 GO 项目上使用 32 位 DLL

我已经使用默认包安装了VSCode和GO扩展。我的项目需要加载一个32位DLL。当我使用F5启动项目时,我在syscall.LoadLibrary()上收到错误193。我在互联网上发现,当有人试图在64位arch上加载32位DLL时,通常会发生错误。我认为如果我使用GOARCH=386进行调试,我将能够加载DLL。但每次我尝试使用GOARCH=386执行时,我都会在VSCode上收到错误消息,提示该架构不受支持。需要帮助。 最佳答案 (我假设64位DLL是遥不可及的)64位进程无法将32位模块加载到其进程空间,32位进程也无法将64

go - 为 vscode 项目/终端设置 $GOPATH

我想为每个vscode项目/工作区设置$GOPATH。现在,在.vscode/settings.json中,我有:{"go.gopath":"$HOME/codes/huru"}我关闭vscode并重新打开,在命令行终端,我回显$GOPATH,它是空的。我希望vscode会从“go.gopath”中读取env变量,但似乎不必这样做。有人知道怎么做吗? 最佳答案 go.gopath用户设置或工作区设置将替换VSCode上的GOPATH值。这个特定的GOPATH值是每当Go:CurrentGOPATH时出现的值。命令在VSCode上执行

ssl - 了解 Mutual TLS,使用服务器名的客户端配置

我想了解双向TLS的工作原理,我有以下示例:Ihaveaclientwhowantstoconnecttoserver"svc1.example.com"但是服务器有一个servercertificatewithacommonNameas"svc1.example.cloud"andaSANas"svc.example.test.cloud".现在当我发出GET请求时,我得到以下信息:x509:证书对svc.example.test.cloud有效,对svc1.example.com无效。所以,我的问题是我是否应该对TLSclientConfig进行更改以包含服务器名?或者我应该在TL

go - 仅从 YAML 配置文件加载一个部分

我有多个组件,每个组件都需要加载特定的定义才能运行,我想将一个大的YAML文件分成多个部分,每个部分将属于一个不同的组件。因此,我没有为4个组件使用4个配置文件,而是使用一个分为多个部分的大配置文件。现在我只想在每个组件上加载yaml配置文件中的相关部分。我可以吗?以及如何?更新:这两个答案都让我满意(在一个YAML文件中嵌入YAML文件,另一个答案是将JSON解码为一个对象,该对象只包含我在其中插入字符串的相关部分)。 最佳答案 YAML规范允许在一个文件中包含多个YAML文档,方法是使用---分隔它们:http://yaml.o

go - vscode 不检测错误 golang

我的vscode没有检测到golang中的错误。示例:packagesomepackageimport"fmt"funcf(namestring)string{name=1returnname}这应该会引发类型错误,但实际上并没有。我从来没有得到任何错误。我的settings.json包含"go.gopath":"some/path","go.vetOnSave":"package","go.lintOnSave":"package","go.testOnSave":true,"go.buildOnSave":"package","go.coverOnSave":true我能够运行go